$(function () {
  // alert('ll')
  // 自定义正则
  layui.form.verify({
    pwd: [/^\S{6,12}$/, "密码必须是6-12位的非空字符！"],

    // 密码和确认新密码必须一致
    rePwd: function (value, item) {
      // value 确认新密码的值
      var newPwd = $('input[name="password"]').val().trim();
      if (newPwd !== value) {
        return "两次密码必须一致！";
      }
    },
  });
  // 定义全局变量
  var q = {
    pagenum: 1,
    pagesize: 3,
    // cate_id: "",
    // state: "",
  };

  userShow();
  //   用户列表展示

  function userShow() {
    $.ajax({
      url: "/admin/users",
      data: q,
      success: function (res) {
        if (res.status !== 0) {
          return layui.layer.msg(res.message);
        }
        // console.log(res);
        var htmlStr = template("tpl-list", res);
        // console.log("htmlStr");
        $("tbody").html(htmlStr);
        // // 渲染分页
        renderPage(res.total);
      },
    });
  }

  //  分页
  function renderPage(total) {
    // console.log(total);
    //执行一个laypage实例
    layui.laypage.render({
      elem: "articlePage", //注意，这里的 test1 是 ID，不用加 # 号
      count: total, //数据总数，从服务端得到
      limit: q.pagesize, //每页显示的条数
      curr: q.pagenum, //当前是第几页
      // 页码自定义排版
      layout: ["page", "next", "prev", "count", "skip"],
      limits: [2, 4, 6, 8, 10], //，每页显示条数
      jump: function (obj, first) {
        //obj包含了当前分页的所有参数，比如：
        // console.log(obj.curr); //得到当前页，以便向服务端请求对应页的数据。
        // console.log(obj.limit); //得到每页显示的条数

        //首次不执行
        if (first !== true) {
          //do something
          q.pagenum = obj.curr; //第几页
          q.pagesize = obj.limit; //每页显示的条数还有几条
          // console.log(q.pagenum);
          // console.log(q.pagesize);
          userShow();
        }
      },
    });
  }

  // 删除
  $("body").on("click", ".delete", function () {
    // 单击删除按钮时，统计删除按钮的数量，并保存
    var len = $('.delete').length

    var id = $(this).attr("data-id");
    console.log(id);
    layer.confirm(
      "您确定要删除吗?", {
        icon: 3,
        title: "提示"
      },
      function (index) {
        //do something
        $.ajax({
          method: "delete",
          url: "/admin/users/" + id,
          success: function (res) {
            if (res.status !== 0) {
              return layui.layer.msg(res.message);
            }
            // 删除完成之后。判断之前保存的按钮数量
            if (len === 1) {
              q.pagenum > 1 && q.pagenum--
            }
            layer.close(index);
            console.log(res);
            userShow();
          },
        });
      }
    );
  });
  // 验证密码
  layui.form.verify({
    pwd: [/^\S{6,12}$/, "密码必须是6-12位非空字符"],
    repwd: function (value, item) {
      var pwd = $('input[name="password"]').val();
      if (pwd !== value) {
        return "两次密码必须一致";
      }
    },
  });

  // 根据id查找用户信息(存到本地存储)
  resetUser();

  function resetUser() {
    var id;
    $("tbody").on("click", ".btn-edit", function () {
      id = $(this).attr("data-id");
      localStorage.setItem("article_id", id);
    });
    // 全局变量
    var indexEdit;
    var id;
    // // 重置用户密码
    $("tbody").on("click", ".resetpwd", function () {
      // alert('oi');
      // 弹出框
      indexEdit = layui.layer.open({
        skin: "layui-layer-molv", //模态框皮肤样式
        type: 1,
        title: "重置用户密码",
        area: ["500px", "300px"],
        content: $("#repwd-form-tpl").html(),
      });
      id = $(".resetpwd").attr("data-id");
    });
    $("body").on("submit", "#repwd-form-tpl", function (e) {
      e.preventDefault();
      var data = $("#repwd-form").serialize();

      console.log(data);
      $.ajax({
        method: "put",
        url: "/admin/users/" + id,
        data: data,
        success: function (res) {
          if (res.status !== 0) {
            return layui.layer.msg(res.message);
          }

          console.log(res);
        },
      });
      // 演示器
      setInterval(function () {
        window.parent.document.getElementById("tpl-list").click();
      }, 2000);
    });
  }
  // 重置
  $('.layui-btn-primary').on('click', function () {
    e.preventDefault()
    resetUser()
  })
});